package cn.jcby.app.lebu.dao;

import cn.jcby.app.lebu.controller.req.FinishPlanReq;
import cn.jcby.app.lebu.controller.req.PublisherListReq;
import cn.jcby.app.lebu.controller.req.UserMotionPlanListReq;
import cn.jcby.app.lebu.controller.req.UserStartPlanReq;
import cn.jcby.app.lebu.controller.res.UserMotionPlanListRes;
import cn.jcby.app.lebu.entity.UserMotionPlanEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 计划管理
 * 
 * @author lht
 * @email 
 * @date 2023-12-07 15:13:35
 */
@Mapper
public interface UserMotionPlanDao extends BaseMapper<UserMotionPlanEntity> {

    void addPlan(UserMotionPlanEntity entity) ;


    void joinPlan(UserMotionPlanEntity updateEntity);

    void hide(@Param("id")String id, @Param("delType")Integer delType);

    void updateStatus(@Param("id") String id, @Param("status")Integer status);

    Integer publisherNewCount(PublisherListReq req);

    List<UserMotionPlanListRes> publisherNewList(PublisherListReq req);

    Integer myMotionCount(UserMotionPlanListReq req);

    List<UserMotionPlanListRes> myMotionList(UserMotionPlanListReq req) ;

    void deleteByIdList(@Param("list") List<String> list);

    void completePlan(@Param("id") String id,@Param("completeType") Integer completeType);

    void startPlan(UserStartPlanReq req);

    void publisherCompletedPlan(FinishPlanReq req);
}
